<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>lwIP: Options</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">lwIP
   &#160;<span id="projectnumber">2.1.2</span>
   </div>
   <div id="projectbrief">Lightweight IP stack</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('group__httpd__opts.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#define-members">Macros</a>  </div>
  <div class="headertitle">
<div class="title">Options<div class="ingroups"><a class="el" href="group__apps.html">Applications</a> &raquo; <a class="el" href="group__httpd.html">HTTP server</a></div></div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:gafb28f7c5fee75f013a199d427452372c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__httpd__opts.html#gafb28f7c5fee75f013a199d427452372c">LWIP_HTTPD_CGI</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:gafb28f7c5fee75f013a199d427452372c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad3960bf65731bd0f1341867664afe860"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__httpd__opts.html#gad3960bf65731bd0f1341867664afe860">LWIP_HTTPD_CGI_SSI</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:gad3960bf65731bd0f1341867664afe860"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacb70e0cdd30a940f8bce681c6cc63949"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__httpd__opts.html#gacb70e0cdd30a940f8bce681c6cc63949">LWIP_HTTPD_SSI</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:gacb70e0cdd30a940f8bce681c6cc63949"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga520858778b84d4d2fa125294c0f119e5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__httpd__opts.html#ga520858778b84d4d2fa125294c0f119e5">LWIP_HTTPD_SSI_RAW</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:ga520858778b84d4d2fa125294c0f119e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaba2d4cfe4c1f5bdbe37b339084a7d466"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__httpd__opts.html#gaba2d4cfe4c1f5bdbe37b339084a7d466">LWIP_HTTPD_SSI_BY_FILE_EXTENSION</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:gaba2d4cfe4c1f5bdbe37b339084a7d466"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacbea06ce33933e3ef2f2f1834a21cc2c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__httpd__opts.html#gacbea06ce33933e3ef2f2f1834a21cc2c">LWIP_HTTPD_SUPPORT_POST</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:gacbea06ce33933e3ef2f2f1834a21cc2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3167d52d20cf90857e2c809b92458bf0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__httpd__opts.html#ga3167d52d20cf90857e2c809b92458bf0">LWIP_HTTPD_SSI_MULTIPART</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:ga3167d52d20cf90857e2c809b92458bf0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafb2115e763ed3163a3e204a0ba53edb9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__httpd__opts.html#gafb2115e763ed3163a3e204a0ba53edb9">HTTPD_SERVER_AGENT</a>&#160;&#160;&#160;&quot;lwIP/&quot; LWIP_VERSION_STRING &quot; (http://savannah.nongnu.org/projects/lwip)&quot;</td></tr>
<tr class="separator:gafb2115e763ed3163a3e204a0ba53edb9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga75932fc5eeb9abeddfdaf8413574c6d7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__httpd__opts.html#ga75932fc5eeb9abeddfdaf8413574c6d7">LWIP_HTTPD_DYNAMIC_HEADERS</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:ga75932fc5eeb9abeddfdaf8413574c6d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabb13219495a813fceaafa954a238a924"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__httpd__opts.html#gabb13219495a813fceaafa954a238a924">HTTPD_USE_MEM_POOL</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:gabb13219495a813fceaafa954a238a924"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2b058c5d1bd67e5d7cb260166e3ace50"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__httpd__opts.html#ga2b058c5d1bd67e5d7cb260166e3ace50">HTTPD_SERVER_PORT</a>&#160;&#160;&#160;<a class="el" href="group__iana.html#ggac9396d90585e49e9a287179bf5aa9ba0a1c665cb8e57dff577f4966493c15b618">LWIP_IANA_PORT_HTTP</a></td></tr>
<tr class="separator:ga2b058c5d1bd67e5d7cb260166e3ace50"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaffe653b08bf5ba25b276c655f6813441"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__httpd__opts.html#gaffe653b08bf5ba25b276c655f6813441">HTTPD_SERVER_PORT_HTTPS</a>&#160;&#160;&#160;<a class="el" href="group__iana.html#ggac9396d90585e49e9a287179bf5aa9ba0ad07fb8ff2b18006405d904b5b3810c88">LWIP_IANA_PORT_HTTPS</a></td></tr>
<tr class="separator:gaffe653b08bf5ba25b276c655f6813441"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga64dc2a10b1c2ec886e698fe9008e51e2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__httpd__opts.html#ga64dc2a10b1c2ec886e698fe9008e51e2">HTTPD_ENABLE_HTTPS</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:ga64dc2a10b1c2ec886e698fe9008e51e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad92e78e19fd3ab2af42750e83ed73fd5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__httpd__opts.html#gad92e78e19fd3ab2af42750e83ed73fd5">HTTPD_MAX_RETRIES</a>&#160;&#160;&#160;4</td></tr>
<tr class="separator:gad92e78e19fd3ab2af42750e83ed73fd5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacc3e7667baa2cfafd23de2b152df7a63"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__httpd__opts.html#gacc3e7667baa2cfafd23de2b152df7a63">HTTPD_POLL_INTERVAL</a>&#160;&#160;&#160;4</td></tr>
<tr class="separator:gacc3e7667baa2cfafd23de2b152df7a63"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaabd1f6319d04b8d5f2c93270794d5182"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__httpd__opts.html#gaabd1f6319d04b8d5f2c93270794d5182">HTTPD_TCP_PRIO</a>&#160;&#160;&#160;TCP_PRIO_MIN</td></tr>
<tr class="separator:gaabd1f6319d04b8d5f2c93270794d5182"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga054db3f080715942967969c6ae30bb6a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__httpd__opts.html#ga054db3f080715942967969c6ae30bb6a">LWIP_HTTPD_TIMING</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:ga054db3f080715942967969c6ae30bb6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5f2642874f930798d975b1f7a6d2e1da"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__httpd__opts.html#ga5f2642874f930798d975b1f7a6d2e1da">HTTPD_DEBUG_TIMING</a>&#160;&#160;&#160;<a class="el" href="group__debugging__levels.html#gadab1cdc3f45939a3a5c9a3d7e04987e1">LWIP_DBG_OFF</a></td></tr>
<tr class="separator:ga5f2642874f930798d975b1f7a6d2e1da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga85ebddbc4236b1e31bfa68fa163f9b07"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__httpd__opts.html#ga85ebddbc4236b1e31bfa68fa163f9b07">LWIP_HTTPD_SUPPORT_EXTSTATUS</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:ga85ebddbc4236b1e31bfa68fa163f9b07"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7a8f4ab787b6fb8482c8a36c9fd0c7dd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__httpd__opts.html#ga7a8f4ab787b6fb8482c8a36c9fd0c7dd">LWIP_HTTPD_SUPPORT_V09</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:ga7a8f4ab787b6fb8482c8a36c9fd0c7dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6f78487bc829f7f98274f1264020045e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__httpd__opts.html#ga6f78487bc829f7f98274f1264020045e">LWIP_HTTPD_SUPPORT_11_KEEPALIVE</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:ga6f78487bc829f7f98274f1264020045e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0bd0f9a89423fb3bbfea4e4c6141ae43"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__httpd__opts.html#ga0bd0f9a89423fb3bbfea4e4c6141ae43">LWIP_HTTPD_SUPPORT_REQUESTLIST</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:ga0bd0f9a89423fb3bbfea4e4c6141ae43"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaef23f4e3525aa5dd0ecbce9b5e16d4e0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__httpd__opts.html#gaef23f4e3525aa5dd0ecbce9b5e16d4e0">LWIP_HTTPD_REQ_QUEUELEN</a>&#160;&#160;&#160;5</td></tr>
<tr class="separator:gaef23f4e3525aa5dd0ecbce9b5e16d4e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8dbe61a35228da0e7365a088197191b8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__httpd__opts.html#ga8dbe61a35228da0e7365a088197191b8">LWIP_HTTPD_REQ_BUFSIZE</a>&#160;&#160;&#160;<a class="el" href="group__httpd__opts.html#ga30dc71c59f3904df7daaf293f74f91f8">LWIP_HTTPD_MAX_REQ_LENGTH</a></td></tr>
<tr class="separator:ga8dbe61a35228da0e7365a088197191b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga30dc71c59f3904df7daaf293f74f91f8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__httpd__opts.html#ga30dc71c59f3904df7daaf293f74f91f8">LWIP_HTTPD_MAX_REQ_LENGTH</a>&#160;&#160;&#160;LWIP_MIN(1023, (<a class="el" href="group__httpd__opts.html#gaef23f4e3525aa5dd0ecbce9b5e16d4e0">LWIP_HTTPD_REQ_QUEUELEN</a> * <a class="el" href="group__lwip__opts__pbuf.html#gae61f4491d56e805e79b79eb5d35a00e5">PBUF_POOL_BUFSIZE</a>))</td></tr>
<tr class="separator:ga30dc71c59f3904df7daaf293f74f91f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaca4ef53e7a9abbd8d4bd8bc1ba7b486a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__httpd__opts.html#gaca4ef53e7a9abbd8d4bd8bc1ba7b486a">LWIP_HTTPD_MAX_REQUEST_URI_LEN</a>&#160;&#160;&#160;63</td></tr>
<tr class="separator:gaca4ef53e7a9abbd8d4bd8bc1ba7b486a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa27f7c5450392d10aeed033ca878cce3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__httpd__opts.html#gaa27f7c5450392d10aeed033ca878cce3">LWIP_HTTPD_POST_MAX_RESPONSE_URI_LEN</a>&#160;&#160;&#160;63</td></tr>
<tr class="separator:gaa27f7c5450392d10aeed033ca878cce3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga975961a6d22d1a077118fb85dfec809a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__httpd__opts.html#ga975961a6d22d1a077118fb85dfec809a">LWIP_HTTPD_SSI_INCLUDE_TAG</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:ga975961a6d22d1a077118fb85dfec809a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0ff20ebc4ab50d4aa6151c3241dacb3a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__httpd__opts.html#ga0ff20ebc4ab50d4aa6151c3241dacb3a">LWIP_HTTPD_ABORT_ON_CLOSE_MEM_ERROR</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:ga0ff20ebc4ab50d4aa6151c3241dacb3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0d5074965efd40786182287895feb691"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__httpd__opts.html#ga0d5074965efd40786182287895feb691">LWIP_HTTPD_KILL_OLD_ON_CONNECTIONS_EXCEEDED</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:ga0d5074965efd40786182287895feb691"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga82a030ce2ecdcf741b02b7be41c012b3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__httpd__opts.html#ga82a030ce2ecdcf741b02b7be41c012b3">LWIP_HTTPD_OMIT_HEADER_FOR_EXTENSIONLESS_URI</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:ga82a030ce2ecdcf741b02b7be41c012b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga662e88120b507426374dd8ebbd54a048"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__httpd__opts.html#ga662e88120b507426374dd8ebbd54a048">HTTP_IS_TAG_VOLATILE</a>(ptr)&#160;&#160;&#160;TCP_WRITE_FLAG_COPY</td></tr>
<tr class="separator:ga662e88120b507426374dd8ebbd54a048"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadadb70f5663cdf004bf879e3b5d326bd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__httpd__opts.html#gadadb70f5663cdf004bf879e3b5d326bd">LWIP_HTTPD_CUSTOM_FILES</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:gadadb70f5663cdf004bf879e3b5d326bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1ee8d7c975c7e3d1c9d9dd9b43660c79"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__httpd__opts.html#ga1ee8d7c975c7e3d1c9d9dd9b43660c79">LWIP_HTTPD_DYNAMIC_FILE_READ</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:ga1ee8d7c975c7e3d1c9d9dd9b43660c79"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaedd0fa3d356170d8ca3557acb410fd7c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__httpd__opts.html#gaedd0fa3d356170d8ca3557acb410fd7c">LWIP_HTTPD_FILE_STATE</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:gaedd0fa3d356170d8ca3557acb410fd7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6e5de8515c89af12277e4cb011165103"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__httpd__opts.html#ga6e5de8515c89af12277e4cb011165103">HTTPD_PRECALCULATED_CHECKSUM</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:ga6e5de8515c89af12277e4cb011165103"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga51cb673cb5cc362acc409f23c1e0a331"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__httpd__opts.html#ga51cb673cb5cc362acc409f23c1e0a331">LWIP_HTTPD_FS_ASYNC_READ</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:ga51cb673cb5cc362acc409f23c1e0a331"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad68e8e06ea4c2be1b3508e813a49f7cc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__httpd__opts.html#gad68e8e06ea4c2be1b3508e813a49f7cc">HTTPD_FSDATA_FILE</a>&#160;&#160;&#160;&quot;fsdata.c&quot;</td></tr>
<tr class="separator:gad68e8e06ea4c2be1b3508e813a49f7cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a id="ga662e88120b507426374dd8ebbd54a048"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga662e88120b507426374dd8ebbd54a048">&#9670;&nbsp;</a></span>HTTP_IS_TAG_VOLATILE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HTTP_IS_TAG_VOLATILE</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">ptr</td><td>)</td>
          <td>&#160;&#160;&#160;TCP_WRITE_FLAG_COPY</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Default: Tags are sent from struct http_state and are therefore volatile </p>

</div>
</div>
<a id="ga5f2642874f930798d975b1f7a6d2e1da"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga5f2642874f930798d975b1f7a6d2e1da">&#9670;&nbsp;</a></span>HTTPD_DEBUG_TIMING</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HTTPD_DEBUG_TIMING&#160;&#160;&#160;<a class="el" href="group__debugging__levels.html#gadab1cdc3f45939a3a5c9a3d7e04987e1">LWIP_DBG_OFF</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Set this to 1 to enable timing each file sent </p>

</div>
</div>
<a id="ga64dc2a10b1c2ec886e698fe9008e51e2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga64dc2a10b1c2ec886e698fe9008e51e2">&#9670;&nbsp;</a></span>HTTPD_ENABLE_HTTPS</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HTTPD_ENABLE_HTTPS&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Enable https support? </p>

</div>
</div>
<a id="gad68e8e06ea4c2be1b3508e813a49f7cc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gad68e8e06ea4c2be1b3508e813a49f7cc">&#9670;&nbsp;</a></span>HTTPD_FSDATA_FILE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HTTPD_FSDATA_FILE&#160;&#160;&#160;&quot;fsdata.c&quot;</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Filename (including path) to use as FS data file </p>

</div>
</div>
<a id="gad92e78e19fd3ab2af42750e83ed73fd5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gad92e78e19fd3ab2af42750e83ed73fd5">&#9670;&nbsp;</a></span>HTTPD_MAX_RETRIES</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HTTPD_MAX_RETRIES&#160;&#160;&#160;4</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Maximum retries before the connection is aborted/closed.</p><ul>
<li>number of times pcb-&gt;poll is called -&gt; default is 4*500ms = 2s;</li>
<li>reset when pcb-&gt;sent is called </li>
</ul>

</div>
</div>
<a id="gacc3e7667baa2cfafd23de2b152df7a63"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gacc3e7667baa2cfafd23de2b152df7a63">&#9670;&nbsp;</a></span>HTTPD_POLL_INTERVAL</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HTTPD_POLL_INTERVAL&#160;&#160;&#160;4</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>The poll delay is X*500ms </p>

</div>
</div>
<a id="ga6e5de8515c89af12277e4cb011165103"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga6e5de8515c89af12277e4cb011165103">&#9670;&nbsp;</a></span>HTTPD_PRECALCULATED_CHECKSUM</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HTTPD_PRECALCULATED_CHECKSUM&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>HTTPD_PRECALCULATED_CHECKSUM==1: include precompiled checksums for predefined (MSS-sized) chunks of the files to prevent having to calculate the checksums at runtime. </p>

</div>
</div>
<a id="gafb2115e763ed3163a3e204a0ba53edb9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gafb2115e763ed3163a3e204a0ba53edb9">&#9670;&nbsp;</a></span>HTTPD_SERVER_AGENT</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HTTPD_SERVER_AGENT&#160;&#160;&#160;&quot;lwIP/&quot; LWIP_VERSION_STRING &quot; (http://savannah.nongnu.org/projects/lwip)&quot;</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This string is passed in the HTTP header as "Server: " </p>

</div>
</div>
<a id="ga2b058c5d1bd67e5d7cb260166e3ace50"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga2b058c5d1bd67e5d7cb260166e3ace50">&#9670;&nbsp;</a></span>HTTPD_SERVER_PORT</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HTTPD_SERVER_PORT&#160;&#160;&#160;<a class="el" href="group__iana.html#ggac9396d90585e49e9a287179bf5aa9ba0a1c665cb8e57dff577f4966493c15b618">LWIP_IANA_PORT_HTTP</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>The server port for HTTPD to use </p>

</div>
</div>
<a id="gaffe653b08bf5ba25b276c655f6813441"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaffe653b08bf5ba25b276c655f6813441">&#9670;&nbsp;</a></span>HTTPD_SERVER_PORT_HTTPS</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HTTPD_SERVER_PORT_HTTPS&#160;&#160;&#160;<a class="el" href="group__iana.html#ggac9396d90585e49e9a287179bf5aa9ba0ad07fb8ff2b18006405d904b5b3810c88">LWIP_IANA_PORT_HTTPS</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>The https server port for HTTPD to use </p>

</div>
</div>
<a id="gaabd1f6319d04b8d5f2c93270794d5182"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaabd1f6319d04b8d5f2c93270794d5182">&#9670;&nbsp;</a></span>HTTPD_TCP_PRIO</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HTTPD_TCP_PRIO&#160;&#160;&#160;TCP_PRIO_MIN</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Priority for tcp pcbs created by HTTPD (very low by default). Lower priorities get killed first when running out of memory. </p>

</div>
</div>
<a id="gabb13219495a813fceaafa954a238a924"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gabb13219495a813fceaafa954a238a924">&#9670;&nbsp;</a></span>HTTPD_USE_MEM_POOL</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HTTPD_USE_MEM_POOL&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Set this to 1 to use a memp pool for allocating struct http_state instead of the heap. If enabled, you'll need to define MEMP_NUM_PARALLEL_HTTPD_CONNS (and MEMP_NUM_PARALLEL_HTTPD_SSI_CONNS for SSI) to set the size of the pool(s). </p>

</div>
</div>
<a id="ga0ff20ebc4ab50d4aa6151c3241dacb3a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0ff20ebc4ab50d4aa6151c3241dacb3a">&#9670;&nbsp;</a></span>LWIP_HTTPD_ABORT_ON_CLOSE_MEM_ERROR</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LWIP_HTTPD_ABORT_ON_CLOSE_MEM_ERROR&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Set this to 1 to call tcp_abort when tcp_close fails with memory error. This can be used to prevent consuming all memory in situations where the HTTP server has low priority compared to other communication. </p>

</div>
</div>
<a id="gafb28f7c5fee75f013a199d427452372c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gafb28f7c5fee75f013a199d427452372c">&#9670;&nbsp;</a></span>LWIP_HTTPD_CGI</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LWIP_HTTPD_CGI&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Set this to 1 to support CGI (old style).</p>
<p>This old style CGI support works by registering an array of URLs and associated CGI handler functions (<a class="el" href="group__httpd.html#gae1ec09532ff7fc622e1860727bf2c897">http_set_cgi_handlers</a>). This list is scanned just before fs_open is called from request handling. The handler can return a new URL that is used internally by the httpd to load the returned page (passed to fs_open).</p>
<p>Use this CGI type e.g. to execute specific actions and return a page that does not depend on the CGI parameters. </p>

</div>
</div>
<a id="gad3960bf65731bd0f1341867664afe860"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gad3960bf65731bd0f1341867664afe860">&#9670;&nbsp;</a></span>LWIP_HTTPD_CGI_SSI</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LWIP_HTTPD_CGI_SSI&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Set this to 1 to support CGI (new style).</p>
<p>This new style CGI support works by calling a global function (<a class="el" href="group__httpd.html#gafe011a487c5e8d03a6b2f629e14e6b5c">tCGIHandler</a>) for all URLs that are found. fs_open is called first and the URL can not be written by the CGI handler. Instead, this handler gets passed the http file state, an object where it can store information derived from the CGI URL or parameters. This file state is later passed to SSI, so the SSI code can return data depending on CGI input.</p>
<p>Use this CGI handler if you want CGI information passed on to SSI. </p>

</div>
</div>
<a id="gadadb70f5663cdf004bf879e3b5d326bd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gadadb70f5663cdf004bf879e3b5d326bd">&#9670;&nbsp;</a></span>LWIP_HTTPD_CUSTOM_FILES</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LWIP_HTTPD_CUSTOM_FILES&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Set this to 1 and provide the functions:</p><ul>
<li>"int fs_open_custom(struct fs_file *file, const char *name)" Called first for every opened file to allow opening files that are not included in fsdata(_custom).c</li>
<li>"void fs_close_custom(struct fs_file *file)" Called to free resources allocated by fs_open_custom(). </li>
</ul>

</div>
</div>
<a id="ga1ee8d7c975c7e3d1c9d9dd9b43660c79"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga1ee8d7c975c7e3d1c9d9dd9b43660c79">&#9670;&nbsp;</a></span>LWIP_HTTPD_DYNAMIC_FILE_READ</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LWIP_HTTPD_DYNAMIC_FILE_READ&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Set this to 1 to support fs_read() to dynamically read file data. Without this (default=off), only one-block files are supported, and the contents must be ready after fs_open(). </p>

</div>
</div>
<a id="ga75932fc5eeb9abeddfdaf8413574c6d7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga75932fc5eeb9abeddfdaf8413574c6d7">&#9670;&nbsp;</a></span>LWIP_HTTPD_DYNAMIC_HEADERS</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LWIP_HTTPD_DYNAMIC_HEADERS&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Set this to 1 if you want to include code that creates HTTP headers at runtime. Default is off: HTTP headers are then created statically by the makefsdata tool. Static headers mean smaller code size, but the (readonly) fsdata will grow a bit as every file includes the HTTP header. </p>

</div>
</div>
<a id="gaedd0fa3d356170d8ca3557acb410fd7c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaedd0fa3d356170d8ca3557acb410fd7c">&#9670;&nbsp;</a></span>LWIP_HTTPD_FILE_STATE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LWIP_HTTPD_FILE_STATE&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Set this to 1 to include an application state argument per file that is opened. This allows to keep a state per connection/file. </p>

</div>
</div>
<a id="ga51cb673cb5cc362acc409f23c1e0a331"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga51cb673cb5cc362acc409f23c1e0a331">&#9670;&nbsp;</a></span>LWIP_HTTPD_FS_ASYNC_READ</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LWIP_HTTPD_FS_ASYNC_READ&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>LWIP_HTTPD_FS_ASYNC_READ==1: support asynchronous read operations (fs_read_async returns FS_READ_DELAYED and calls a callback when finished). </p>

</div>
</div>
<a id="ga0d5074965efd40786182287895feb691"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0d5074965efd40786182287895feb691">&#9670;&nbsp;</a></span>LWIP_HTTPD_KILL_OLD_ON_CONNECTIONS_EXCEEDED</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LWIP_HTTPD_KILL_OLD_ON_CONNECTIONS_EXCEEDED&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Set this to 1 to kill the oldest connection when running out of memory for 'struct http_state' or 'struct http_ssi_state'. ATTENTION: This puts all connections on a linked list, so may be kind of slow. </p>

</div>
</div>
<a id="ga30dc71c59f3904df7daaf293f74f91f8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga30dc71c59f3904df7daaf293f74f91f8">&#9670;&nbsp;</a></span>LWIP_HTTPD_MAX_REQ_LENGTH</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LWIP_HTTPD_MAX_REQ_LENGTH&#160;&#160;&#160;LWIP_MIN(1023, (<a class="el" href="group__httpd__opts.html#gaef23f4e3525aa5dd0ecbce9b5e16d4e0">LWIP_HTTPD_REQ_QUEUELEN</a> * <a class="el" href="group__lwip__opts__pbuf.html#gae61f4491d56e805e79b79eb5d35a00e5">PBUF_POOL_BUFSIZE</a>))</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Defines the maximum length of a HTTP request line (up to the first CRLF, copied from pbuf into this a global buffer when pbuf- or packet-queues are received - otherwise the input pbuf is used directly) </p>

</div>
</div>
<a id="gaca4ef53e7a9abbd8d4bd8bc1ba7b486a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaca4ef53e7a9abbd8d4bd8bc1ba7b486a">&#9670;&nbsp;</a></span>LWIP_HTTPD_MAX_REQUEST_URI_LEN</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LWIP_HTTPD_MAX_REQUEST_URI_LEN&#160;&#160;&#160;63</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This is the size of a static buffer used when URIs end with '/'. In this buffer, the directory requested is concatenated with all the configured default file names. Set to 0 to disable checking default filenames on non-root directories. </p>

</div>
</div>
<a id="ga82a030ce2ecdcf741b02b7be41c012b3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga82a030ce2ecdcf741b02b7be41c012b3">&#9670;&nbsp;</a></span>LWIP_HTTPD_OMIT_HEADER_FOR_EXTENSIONLESS_URI</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LWIP_HTTPD_OMIT_HEADER_FOR_EXTENSIONLESS_URI&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Set this to 1 to send URIs without extension without headers (who uses this at all??) </p>

</div>
</div>
<a id="gaa27f7c5450392d10aeed033ca878cce3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa27f7c5450392d10aeed033ca878cce3">&#9670;&nbsp;</a></span>LWIP_HTTPD_POST_MAX_RESPONSE_URI_LEN</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LWIP_HTTPD_POST_MAX_RESPONSE_URI_LEN&#160;&#160;&#160;63</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Maximum length of the filename to send as response to a POST request, filled in by the application when a POST is finished. </p>

</div>
</div>
<a id="ga8dbe61a35228da0e7365a088197191b8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga8dbe61a35228da0e7365a088197191b8">&#9670;&nbsp;</a></span>LWIP_HTTPD_REQ_BUFSIZE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LWIP_HTTPD_REQ_BUFSIZE&#160;&#160;&#160;<a class="el" href="group__httpd__opts.html#ga30dc71c59f3904df7daaf293f74f91f8">LWIP_HTTPD_MAX_REQ_LENGTH</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Number of (TCP payload-) bytes (in pbufs) to enqueue to parse and incoming request (up to the first double-newline) </p>

</div>
</div>
<a id="gaef23f4e3525aa5dd0ecbce9b5e16d4e0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaef23f4e3525aa5dd0ecbce9b5e16d4e0">&#9670;&nbsp;</a></span>LWIP_HTTPD_REQ_QUEUELEN</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LWIP_HTTPD_REQ_QUEUELEN&#160;&#160;&#160;5</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Number of rx pbufs to enqueue to parse an incoming request (up to the first newline) </p>

</div>
</div>
<a id="gacb70e0cdd30a940f8bce681c6cc63949"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gacb70e0cdd30a940f8bce681c6cc63949">&#9670;&nbsp;</a></span>LWIP_HTTPD_SSI</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LWIP_HTTPD_SSI&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Set this to 1 to support SSI (Server-Side-Includes)</p>
<p>In contrast to other http servers, this only calls a preregistered callback function (</p><dl class="section see"><dt>See also</dt><dd><a class="el" href="group__httpd.html#ga8834ecb16d9a7d6c128bdf9514b7879c">http_set_ssi_handler</a>) for each tag (in the format of ) encountered in SSI-enabled pages. SSI-enabled pages must have one of the predefined SSI-enabled file extensions. All files with one of these extensions are parsed when sent.</dd></dl>
<p>A downside of the current SSI implementation is that persistent connections don't work, as the file length is not known in advance (and httpd currently relies on the Content-Length header for persistent connections).</p>
<p>To save memory, the maximum tag length is limited (</p><dl class="section see"><dt>See also</dt><dd>LWIP_HTTPD_MAX_TAG_NAME_LEN). To save memory, the maximum insertion string length is limited (</dd>
<dd>
LWIP_HTTPD_MAX_TAG_INSERT_LEN). If this is not enought, <a class="el" href="group__httpd__opts.html#ga3167d52d20cf90857e2c809b92458bf0">LWIP_HTTPD_SSI_MULTIPART</a> can be used. </dd></dl>

</div>
</div>
<a id="gaba2d4cfe4c1f5bdbe37b339084a7d466"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaba2d4cfe4c1f5bdbe37b339084a7d466">&#9670;&nbsp;</a></span>LWIP_HTTPD_SSI_BY_FILE_EXTENSION</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LWIP_HTTPD_SSI_BY_FILE_EXTENSION&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Set this to 0 to prevent parsing the file extension at runtime to decide if a file should be scanned for SSI tags or not. Default is 1 (file extensions are checked using the g_pcSSIExtensions array) Set to 2 to override this runtime test function.</p>
<p>This is enabled by default, but if you only use a newer version of makefsdata supporting the "-ssi" option, this info is already present in </p>

</div>
</div>
<a id="ga975961a6d22d1a077118fb85dfec809a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga975961a6d22d1a077118fb85dfec809a">&#9670;&nbsp;</a></span>LWIP_HTTPD_SSI_INCLUDE_TAG</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LWIP_HTTPD_SSI_INCLUDE_TAG&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Set this to 0 to not send the SSI tag (default is on, so the tag will be sent in the HTML page </p>

</div>
</div>
<a id="ga3167d52d20cf90857e2c809b92458bf0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga3167d52d20cf90857e2c809b92458bf0">&#9670;&nbsp;</a></span>LWIP_HTTPD_SSI_MULTIPART</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LWIP_HTTPD_SSI_MULTIPART&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>LWIP_HTTPD_SSI_MULTIPART==1: SSI handler function is called with 2 more arguments indicating a counter for insert string that are too long to be inserted at once: the SSI handler function must then set 'next_tag_part' which will be passed back to it in the next call. </p>

</div>
</div>
<a id="ga520858778b84d4d2fa125294c0f119e5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga520858778b84d4d2fa125294c0f119e5">&#9670;&nbsp;</a></span>LWIP_HTTPD_SSI_RAW</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LWIP_HTTPD_SSI_RAW&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Set this to 1 to implement an SSI tag handler callback that gets a const char* to the tag (instead of an index into a pre-registered array of known tags) If this is 0, the SSI handler callback function is only called pre-registered tags. </p>

</div>
</div>
<a id="ga6f78487bc829f7f98274f1264020045e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga6f78487bc829f7f98274f1264020045e">&#9670;&nbsp;</a></span>LWIP_HTTPD_SUPPORT_11_KEEPALIVE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LWIP_HTTPD_SUPPORT_11_KEEPALIVE&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Set this to 1 to enable HTTP/1.1 persistent connections. ATTENTION: If the generated file system includes HTTP headers, these must include the "Connection: keep-alive" header (pass argument "-11" to makefsdata). </p>

</div>
</div>
<a id="ga85ebddbc4236b1e31bfa68fa163f9b07"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga85ebddbc4236b1e31bfa68fa163f9b07">&#9670;&nbsp;</a></span>LWIP_HTTPD_SUPPORT_EXTSTATUS</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LWIP_HTTPD_SUPPORT_EXTSTATUS&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Set this to one to show error pages when parsing a request fails instead of simply closing the connection. </p>

</div>
</div>
<a id="gacbea06ce33933e3ef2f2f1834a21cc2c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gacbea06ce33933e3ef2f2f1834a21cc2c">&#9670;&nbsp;</a></span>LWIP_HTTPD_SUPPORT_POST</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LWIP_HTTPD_SUPPORT_POST&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Set this to 1 to support HTTP POST </p>

</div>
</div>
<a id="ga0bd0f9a89423fb3bbfea4e4c6141ae43"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0bd0f9a89423fb3bbfea4e4c6141ae43">&#9670;&nbsp;</a></span>LWIP_HTTPD_SUPPORT_REQUESTLIST</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LWIP_HTTPD_SUPPORT_REQUESTLIST&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Set this to 1 to support HTTP request coming in in multiple packets/pbufs </p>

</div>
</div>
<a id="ga7a8f4ab787b6fb8482c8a36c9fd0c7dd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga7a8f4ab787b6fb8482c8a36c9fd0c7dd">&#9670;&nbsp;</a></span>LWIP_HTTPD_SUPPORT_V09</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LWIP_HTTPD_SUPPORT_V09&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Set this to 0 to drop support for HTTP/0.9 clients (to save some bytes) </p>

</div>
</div>
<a id="ga054db3f080715942967969c6ae30bb6a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga054db3f080715942967969c6ae30bb6a">&#9670;&nbsp;</a></span>LWIP_HTTPD_TIMING</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LWIP_HTTPD_TIMING&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Set this to 1 to enable timing each file sent </p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
  </ul>
</div>
</body>
</html>
